//////////////////////////////////////////////////////////////////////////

#ifndef _FONTS_H_
#define _FONTS_H_

//#include <SDL\SDL_ttf.h>
#include <string>

struct _TTF_Font;
typedef struct _TTF_Font TTF_Font;

class GUI_Fonts
{
//////////////////////////////////////////////////////////////////////////

public:

//////////////////////////////////////////////////////////////////////////

    GUI_Fonts(const std::string& _resourcesFolder, float _resizeFactor);
    ~GUI_Fonts();

    enum Font {SplashName, ButtonText, EditText, CaptionText, FontCount};

    void Resize(float _resizeFactor);

    TTF_Font *Get(GUI_Fonts::Font _fontName);

//////////////////////////////////////////////////////////////////////////

private:

//////////////////////////////////////////////////////////////////////////

    std::string m_FontsFolder;
    int SizeInPixels(float Size);

    void InitFonts();
    void ReloadFont(GUI_Fonts::Font _font, const std::string& _fileName, float _size);

    TTF_Font *m_Fonts[GUI_Fonts::FontCount];
    float m_ResizeFactor;

//////////////////////////////////////////////////////////////////////////
};


//////////////////////////////////////////////////////////////////////////

#endif

//////////////////////////////////////////////////////////////////////////
